package com.getan.boot.common.holder.security.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 菜单信息
 *
 * @author Bruce.Gong
 * @since 1.0.0-SNAPSHOT
 */
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Data
public class MenuDTO implements Serializable {

    @JsonIgnore
    private Long id;
    @JsonIgnore
    private Long pid;

    /**
     * 权限编码
     */
    private String code;
    /**
     * 菜单名称
     */
    private String name;
    /**
     * 菜单图标
     */
    private String icon;
    /**
     * 前端访问路径
     */
    private String path;
    /**
     * 重定向路径
     */
    private String redirect;
    /**
     * 前端组件位置
     */
    private String component;
    /**
     * 前端是否显示为菜单
     */
    private Boolean show;
    /**
     * 子菜单
     */
    private List<MenuDTO> children;
    /**
     *
     */
    private Map<String, Object> meta;

}
